import request from '@/config/axios'

// 学生请假 VO
export interface StudentLeaveVO {
  studentId: number // 学生编号
  studentName: string // 学生姓名
  gradeId: number // 年级编号
  gradeName: string // 年级名称
  classId: number // 班级编号
  className: string // 班级名称
  status: number // 状态 0-未审批 1-审批不通过 2-审批通过
  leaveStartTime: Date // 请假开始时间
  leaveEndTime: Date // 请假结束时间
  leaveType: number // 事假类型 1-病假 2-事假 3-其他
  leaveReason: string // 请假事由
  approveId: number // 审批人id
  approveName: string // 审批人姓名
  rejectReason: string // 审批不通过原因
  approveTime: Date // 审批时间
  tenantName: string // 租户名称=学校名称
}

// 学生请假 API
export const StudentLeaveApi = {
  // 查询学生请假分页
  getStudentLeavePage: async (params: any) => {
    return await request.get({ url: `/system/student-leave/page`, params })
  },

  // 查询学生请假详情
  getStudentLeave: async (id: number) => {
    return await request.get({ url: `/system/student-leave/get?id=` + id })
  },

  // 新增学生请假
  createStudentLeave: async (data: StudentLeaveVO) => {
    return await request.post({ url: `/system/student-leave/create`, data })
  },

  // 修改学生请假
  updateStudentLeave: async (data: StudentLeaveVO) => {
    return await request.put({ url: `/system/student-leave/update`, data })
  },

  // 删除学生请假
  deleteStudentLeave: async (id: number) => {
    return await request.delete({ url: `/system/student-leave/delete?id=` + id })
  },

  // 导出学生请假 Excel
  exportStudentLeave: async (params) => {
    return await request.download({ url: `/system/student-leave/export-excel`, params })
  }
}